package org.jeecg.modules.outOrder1.entity;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * @Description: 出库单
 * @Author: jeecg-boot
 * @Date:   2024-01-12
 * @Version: V1.0
 */
@ApiModel(value="out_order1对象", description="出库单")
@Data
@TableName("out_order1")
@Accessors(chain = true)
public class OutOrder1 implements Serializable {
    private static final long serialVersionUID = 1L;

	/**主键*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private java.lang.String id;
	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private java.lang.String createBy;
	/**创建日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建日期")
    private java.util.Date createTime;
	/**更新人*/
    @ApiModelProperty(value = "更新人")
    private java.lang.String updateBy;
	/**更新日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新日期")
    private java.util.Date updateTime;
	/**所属部门*/
    @ApiModelProperty(value = "所属部门")
    private java.lang.String sysOrgCode;
	/**集装箱号*/
	@Excel(name = "集装箱号", width = 15)
    @ApiModelProperty(value = "集装箱号")
    private java.lang.String containerNo;
	/**铅封号*/
	@Excel(name = "铅封号", width = 15)
    @ApiModelProperty(value = "铅封号")
    private java.lang.String sealNum;
	/**提单号*/
	@Excel(name = "提单号", width = 15)
    @ApiModelProperty(value = "提单号")
    private java.lang.String blNo;
	/**发票号*/
	@Excel(name = "发票号", width = 15)
    @ApiModelProperty(value = "发票号")
    private java.lang.String invoicenum;
	/**船航名次*/
	@Excel(name = "船航名次", width = 15)
    @ApiModelProperty(value = "船航名次")
    private java.lang.String sailingOrder;
	/**收货地址*/
	@Excel(name = "收货地址", width = 15)
    @ApiModelProperty(value = "收货地址")
    private java.lang.String shippingAddress;
	/**司机姓名*/
	@Excel(name = "司机姓名", width = 15)
    @ApiModelProperty(value = "司机姓名")
    private java.lang.String driverName;
	/**车牌号*/
	@Excel(name = "车牌号", width = 15)
    @ApiModelProperty(value = "车牌号")
    private java.lang.String busNum;
	/**司机联系方式*/
	@Excel(name = "司机联系方式", width = 15)
    @ApiModelProperty(value = "司机联系方式")
    private java.lang.String driverPhone;
	/**司机身份证信息*/
	@Excel(name = "司机身份证信息", width = 15)
    @ApiModelProperty(value = "司机身份证信息")
    private java.lang.String idCard;
	/**客户编码*/
	@Excel(name = "客户编码", width = 15)
    @ApiModelProperty(value = "客户编码")
    private java.lang.String customerCode;
	/**出库时间*/
	@Excel(name = "出库时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "出库时间")
    private java.util.Date outOrderDate;
	/**总托数*/
	@Excel(name = "总托数", width = 15)
    @ApiModelProperty(value = "总托数")
    private java.lang.Integer trayNum;
	/**总箱数*/
	@Excel(name = "总箱数", width = 15)
    @ApiModelProperty(value = "总箱数")
    private java.lang.Integer boxNum;
	/**总数量*/
	@Excel(name = "总数量", width = 15)
    @ApiModelProperty(value = "总数量")
    private java.lang.Integer pcsNum;
	/**出库类型*/
	@Excel(name = "出库类型", width = 15, dicCode = "in_order_type")
    @Dict(dicCode = "in_order_type")
    @ApiModelProperty(value = "出库类型")
    private java.lang.Integer outOrderType;
	/**出库状态*/
    @Dict(dicCode = "order_status")
    @ApiModelProperty(value = "出库状态")
    private java.lang.Integer outOrderStatus;//1:待收货, 2:收货中, 3:已收货, 4:上架中, 5:已上架, 6:待备货, 7:备货中, 8:已备货 9:出库中, 10:已出库
	/**是否挂起*/
    @ApiModelProperty(value = "是否挂起")
    private java.lang.Integer isHangUp;
	/**挂起人*/
    @ApiModelProperty(value = "挂起人")
    private java.lang.String hangUpMan;
	/**挂起时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "挂起时间")
    private java.util.Date hangUpTime;
	/**解挂人*/
    @ApiModelProperty(value = "解挂人")
    private java.lang.String hangSoluMan;
	/**解挂时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "解挂时间")
    private java.util.Date hangSoluTime;
	/**理货员*/
    @ApiModelProperty(value = "理货员")
    private java.lang.String tallyClerk;
	/**理货时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "理货时间")
    private java.util.Date tallyClerkTime;
	/**理货任务领取时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "理货任务领取时间")
    private java.util.Date tallyTaskTime;
	/**叉车司机*/
    @ApiModelProperty(value = "叉车司机")
    private java.lang.String truckDriver;
	/**备货时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "备货时间")
    private java.util.Date stockingTime;
	/**备货任务领取时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "备货任务领取时间")
    private java.util.Date stockingTaskTime;
    /**出库规则*/
    @Excel(name = "出库规则", width = 15, dicCode = "out_order_rules")
    @Dict(dicCode = "out_order_rules")
    @ApiModelProperty(value = "出库规则")
    private java.lang.Integer outOrderRules;//1:按入库时间先入先出;2:按生产日期先入先出;3:按发票号出
    /**货品种类*/
    @Excel(name = "货品种类", width = 15, dicCode = "sku_type")
    @Dict(dicCode = "sku_type")
    @ApiModelProperty(value = "货品种类")
    private java.lang.Integer skuType;
    /**优先级*/
    @Excel(name = "优先级", width = 15)
    @ApiModelProperty(value = "优先级")
    private java.lang.Integer priority;
    /**出库库区*/
    @Excel(name = "出库库区", width = 15, dicCode = "outbound_storage_area")
    @Dict(dicCode = "outbound_storage_area")
    @ApiModelProperty(value = "出库库区")
    private java.lang.Integer area;
    /**备注*/
    @Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private java.lang.String remark;
}
